#目录下所有源文件文件.c
SRCS=$(wildcard *.c)
SRCS+=$(wildcard ../code/*.c)
#目录下所有目标文件.o
OBJS=$(SRCS:.c=.o)
#目录下所有依赖文件.d
DEPS=$(SRCS:.c=.d)


.PHONY : all clean


WORK_DIR=../

# 头文件路径
INCLUDE_FLAGS = -I$(WORK_DIR)/code/
				
				

OUTPUT_DIR=../output/

# 指定编译器
CC=gcc


# 编译选项
CFLAGS = $(INCLUDE_FLAGS) -std=c99 -O3


# 目标
BINNAME = jsonexam
all : $(BINNAME)

# 获取c文件依赖
%.d: %.c
	-@$(CC) $(CFLAGS) $< -MM -MF $*.d
	

-include $(DEPS)

# 获取目标文件 $^:表示所有的依赖文件 $@:表示目标文件
%.o: %.c
	@$(CC) $(CFLAGS) -c $< -o $@
	@echo CC "        " $@


$(BINNAME): $(OBJS)
	@$(CC) $^ -o $@  $(LIBFLAGS)
	@echo 
	@echo LD "        " $(OBJS)
	-mv $(BINNAME) $(OUTPUT_DIR)
	@echo 
	
# 注释:$^:表示所有的依赖文件 $@:表示目标文件
clean:
	-rm -f $(DEPS) $(OBJS) $(BINNAME)
